package com.uatair.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.uatair.common.annotation.Excel;
import com.uatair.common.core.domain.BaseEntity;

/**
 * 飞机参数osd对象 tp_uav_info
 * 
 * @author uatair
 * @date 2025-06-20
 */
public class TpUavInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 飞机sn */
    private String sn;

    /** 经度 */
    @Excel(name = "经度")
    private Long longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private Long latitude;

    /** 相对高度 */
    @Excel(name = "相对高度")
    private Long height;

    /** 海拔高度 */
    @Excel(name = "海拔高度")
    private Long altitude;

    /** 垂直飞行速度值 */
    @Excel(name = "垂直飞行速度值")
    private Long vs;

    /** 水平飞行速度值 */
    @Excel(name = "水平飞行速度值")
    private Long gs;

    /** 航向 */
    @Excel(name = "航向")
    private Long heading;

    /** 俯仰角 */
    @Excel(name = "俯仰角")
    private Long pitch;

    /** 横滚角 */
    @Excel(name = "横滚角")
    private Long roll;

    /** 飞行模式 1->READY:准备起飞 2->TAKEOFF:正在起飞 3->HOLD:正在盘旋 4->MISSION:正在按航线飞行 5>RETURN TO LAUNCH:返航 6->LAND:降落 7->OFFBOARD:外部接管中 8->MANUAL:手动模式 9->MAYDAY:应急状态 10->FOLLOW ME:跟随动态位置 其他值,UNKNOWN:未知模式 */
    @Excel(name = "飞行模式 1->READY:准备起飞 2->TAKEOFF:正在起飞 3->HOLD:正在盘旋 4->MISSION:正在按航线飞行 5>RETURN TO LAUNCH:返航 6->LAND:降落 7->OFFBOARD:外部接管中 8->MANUAL:手动模式 9->MAYDAY:应急状态 10->FOLLOW ME:跟随动态位置 其他值,UNKNOWN:未知模式")
    private String mode;

    /** 飞行中(1) 非飞行中(0) 电动机解锁后，飞机就处于飞行中 */
    @Excel(name = "飞行中(1) 非飞行中(0) 电动机解锁后，飞机就处于飞行中")
    private String flying;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long flyTime;

    /** 飞行里程 */
    @Excel(name = "飞行里程")
    private Double flyDistance;

    /** 返航点 */
    @Excel(name = "返航点")
    private Long homeSet;

    /** 返航距离 */
    @Excel(name = "返航距离")
    private Long homeDistance;

    /** 返航经度 */
    @Excel(name = "返航经度")
    private Long homeLat;

    /** 返航纬度 */
    @Excel(name = "返航纬度")
    private Long homeLon;

    /** 返航高度 */
    @Excel(name = "返航高度")
    private Long homeAlt;

    public void setSn(String sn) 
    {
        this.sn = sn;
    }

    public String getSn() 
    {
        return sn;
    }

    public void setLongitude(Long longitude) 
    {
        this.longitude = longitude;
    }

    public Long getLongitude() 
    {
        return longitude;
    }

    public void setlatitude(Long latitude)
    {
        this.latitude = latitude;
    }

    public Long getlatitude()
    {
        return latitude;
    }

    public void setHeight(Long height) 
    {
        this.height = height;
    }

    public Long getHeight() 
    {
        return height;
    }

    public void setAltitude(Long altitude) 
    {
        this.altitude = altitude;
    }

    public Long getAltitude() 
    {
        return altitude;
    }

    public void setVs(Long vs) 
    {
        this.vs = vs;
    }

    public Long getVs() 
    {
        return vs;
    }

    public void setGs(Long gs) 
    {
        this.gs = gs;
    }

    public Long getGs() 
    {
        return gs;
    }

    public void setheading(Long heading)
    {
        this.heading = heading;
    }

    public Long getheading()
    {
        return heading;
    }

    public void setPitch(Long pitch) 
    {
        this.pitch = pitch;
    }

    public Long getPitch() 
    {
        return pitch;
    }

    public void setRoll(Long roll) 
    {
        this.roll = roll;
    }

    public Long getRoll() 
    {
        return roll;
    }

    public void setMode(String mode) 
    {
        this.mode = mode;
    }

    public String getMode() 
    {
        return mode;
    }

    public void setflying(String flying)
    {
        this.flying = flying;
    }

    public String getflying()
    {
        return flying;
    }

    public void setFlyTime(Long flyTime) 
    {
        this.flyTime = flyTime;
    }

    public Long getFlyTime() 
    {
        return flyTime;
    }

    public void setFlyDistance(Double flyDistance)
    {
        this.flyDistance = flyDistance;
    }

    public Double getFlyDistance()
    {
        return flyDistance;
    }

    public void setHomeSet(Long homeSet) 
    {
        this.homeSet = homeSet;
    }

    public Long getHomeSet() 
    {
        return homeSet;
    }

    public void setHomeDistance(Long homeDistance) 
    {
        this.homeDistance = homeDistance;
    }

    public Long getHomeDistance() 
    {
        return homeDistance;
    }

    public void setHomeLat(Long homeLat) 
    {
        this.homeLat = homeLat;
    }

    public Long getHomeLat() 
    {
        return homeLat;
    }

    public void setHomeLon(Long homeLon) 
    {
        this.homeLon = homeLon;
    }

    public Long getHomeLon() 
    {
        return homeLon;
    }

    public void setHomeAlt(Long homeAlt) 
    {
        this.homeAlt = homeAlt;
    }

    public Long getHomeAlt() 
    {
        return homeAlt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("sn", getSn())
            .append("longitude", getLongitude())
            .append(" latitude", getlatitude())
            .append("height", getHeight())
            .append("altitude", getAltitude())
            .append("vs", getVs())
            .append("gs", getGs())
            .append(" heading", getheading())
            .append("pitch", getPitch())
            .append("roll", getRoll())
            .append("mode", getMode())
            .append(" flying", getflying())
            .append("flyTime", getFlyTime())
            .append("flyDistance", getFlyDistance())
            .append("homeSet", getHomeSet())
            .append("homeDistance", getHomeDistance())
            .append("homeLat", getHomeLat())
            .append("homeLon", getHomeLon())
            .append("homeAlt", getHomeAlt())
            .toString();
    }
}
